Carga de librerías a usar

pacman::p_load(tidyverse, ggplot2, forcats, ggtext, readxl, naniar, sf, plotly)
options(scipen = 999)

Carga de bases de datos a usar

base_dptos_total <- read_excel("data/Salario-promedio-por-departamento.xlsx")
mapa_dptos <- read_sf ("data/departamentos_arg.geojson")
w_mean_dpto_priv_clae2 <- read.csv("data/w_mean_depto_total_clae2.csv")
diccionario <- read.csv("data/diccionario_clae2.csv")

Tarea 1: Los departamentos con mayores salarios, expresados en un mapa coroplético

  • Observamos que contiene la base mapas_dptos
head(mapa_dptos)
## Simple feature collection with 6 features and 11 fields
## Geometry type: MULTIPOLYGON
## Dimension:     XY
## Bounding box:  xmin: -67.18428 ymin: -34.95295 xmax: -58.01702 ymax: -33.10576
## Geodetic CRS:  WGS 84
## # A tibble: 6 × 12
##   link  codpcia departamen  provincia  mujeres varones personas hogares viv_part
##   <chr> <chr>   <chr>       <chr>      <chr>   <chr>   <chr>    <chr>   <chr>   
## 1 02001 02      Comuna 1    Ciudad Au… 107789  98097   205886   84468   130771  
## 2 02002 02      Comuna 2    Ciudad Au… 89890   68042   157932   73156   107967  
## 3 02003 02      Comuna 3    Ciudad Au… 101936  85601   187537   80489   101161  
## 4 02004 02      Comuna 4    Ciudad Au… 115079  103166  218245   76455   82926   
## 5 06091 06      Berazategui Buenos Ai… 165636  158608  324244   93164   96025   
## 6 74056 74      La Capital  San Luis   104417  99602   204019   58559   62166   
## # ℹ 3 more variables: viv_part_h <chr>, codigo_departamento_indec <chr>,
## #   geometry <MULTIPOLYGON [°]>

Transformamos al mapa en mercator

mapa_dptos_mercator <- st_transform(mapa_dptos, 3857)

mapa1 <- ggplot(mapa_dptos_mercator)+
  geom_sf ()

mapa1

Observamos que el mapa tiene 18 filas más que la base de salarios. Ello se debe a que CABA está 15 veces en el mapa (1 por comuna) y está solo 1 vez en la base de salarios. Además, debe haber al menos 4 departamentos que estén en el mapa y no en la base de salarios.

#para poder unificar los archivos, transformamos la variable de departamento del mapa en numérica.

#Achicamos la base para tener menos columnas

#Unificamos ambos archivos.

#Decidimos dejar a Caba como valor perdido. Podríamos haber puesto que todas las comunas tengan el valor de toda la capital.

#Sin embargo, esa decisión nos hubiera distorcionado la medida de posición de los que vamos a utilizar para responder la pregunta y graficar al cuarto cuartil de departamento con mayores salarios.

#La siguiente función nos permite ver cuántos departamentos/comunas no tienen valores:

class(base_dptos_total$codigo_departamento_indec)
## [1] "numeric"
class (mapa_dptos_mercator$codigo_departamento_indec)
## [1] "character"
mapa_dptos_mercator <- mapa_dptos_mercator %>%
  mutate(codigo_departamento_indec = as.numeric(codigo_departamento_indec))

class (mapa_dptos_mercator$codigo_departamento_indec)
## [1] "numeric"
base_dptos_3_23<- base_dptos_total %>%
  select(codigo_departamento_indec, m202303, provincia, departamento)

base_unificada <- mapa_dptos_mercator %>%
  left_join(base_dptos_3_23, by = "codigo_departamento_indec")

n_miss (base_unificada$m202303)
## [1] 23

#Observamos que son 23 (los 15 de CABA y 8 más). Sin embargo deberían ser 4 más y no 8 (teniendo en cuenta la cantidad de casos de cada base).

#Realizamos una base unificada al revés, parándonos de la base de salarios.

#Vemos que son 2 departamentos que en la base original de salarios no tienen datos para el 3/23.

#Ahora veamos si hay departamentos que están en la base de salarios que no están en el mapa:

base_unificada2 <- base_dptos_total %>%
  left_join(mapa_dptos_mercator, by = "codigo_departamento_indec")
# Allí vemos en principio cuantos valores perdidos tiene la variable de ingresos en su base original. 
n_miss (base_unificada2$m202303)
## [1] 2
n_miss (base_unificada2$departamen)
## [1] 3

#Observamos que son 3. 1 de CABA y otros 2 departamentos que están en tierra del fuego. # a partir de ellos nos damos cuenta que falta los dos departamentos de las provincia Tierra del Fuego en el Mapa. # Entonces, originalmente había 18 valores de diferencia entre ambas bases (523 y 505). Sin embargo, hay 23 NA, los 5 extras se debe a: #1 valor extra por CABA, 2 depatamentos que no tienen datos en el último mes de ingreso, los dos departamentos de tierra del fuego que no están en el mapa.

#Luego de realizar el chequeo armamos un primer mapa graficando todos los deparmtam

ggplot(base_unificada)+
  geom_sf(aes(fill=m202303))+
  scale_fill_viridis_c()+
  labs (title = "Departamentos según monto promedio de salarios registrados",
        subtitle = "Argentina, marzo 2023",
        fill = "Monto promedio del salario registrados") +
  theme_void()

#Sin embargo, la consigna solicitaba identificar los departmantes con mayores salarios. Para ello solicitamos un summar:

summary(base_unificada$m202303)

A partir de dicha información, decidimos solamente graficar los departamentos del 4to cuartil de salarios más altos.

summary(base_unificada$m202303)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max.    NA's 
##  117822  182377  218407  232502  253931 1523760      23
base_unificada <- base_unificada%>%
  select(m202303,provincia.x)%>%
  mutate(cuartil4 = case_when (m202303 >= 263883 ~ "Si",
                               m202303 < 263883 ~ "No", 
                                is.na(m202303) ~ "Sin datos"))

ggplot(base_unificada)+
  geom_sf(aes(fill= cuartil4))+
  scale_fill_viridis_d()+
  labs (title = "Departamentos del país con salarios promedios más elevados** (cuarto cuartil)",
        subtitle = "Argentina, marzo 2023.",
        fill= "Departamentos del cuarto cuartil de salarios",
        caption= "Elaboración propia en base a datos del Ministerio de desarrollo productivo")+
  theme_void()

#ALTERNATIVA que que estima aumaticamente el 4to cuartil

base_unificada <- base_unificada%>%
  select(m202303)%>%
  mutate(cuartil4 = case_when(is.na(m202303) ~ "Sin datos",
                              m202303 >= quantile(m202303, probs = 0.75, na.rm = TRUE) ~ "Si", TRUE ~ "No"))

ggplot(base_unificada)+
  geom_sf(aes(fill= cuartil4))+
  scale_fill_viridis_d()+
  labs (title = "Departamentos del país con salarios promedios más elevados** (cuarto cuartil)",
        subtitle = "Argentina, marzo 2023.",
        fill= "Departamentos del cuarto cuartil de salarios",
        caption= "Elaboración propia en base a datos del Ministerio de desarrollo productivo")+
  theme_void()

Agrego interactividad.

p <- ggplot(base_unificada)+
  geom_sf(aes(fill = cuartil4, text = paste("Provincia:", provincia.x)))+
  scale_fill_viridis_d()+
  labs (title = "Departamentos del país con salarios promedios más elevados** (cuarto cuartil)",
        subtitle = "Argentina, marzo 2023.",
        fill= "Departamentos del cuarto cuartil de salarios",
        caption= "Elaboración propia en base a datos del Ministerio de desarrollo productivo")+
  theme_void()

ggplotly(p) 
grafico_T2 <- left_join(x = w_mean_dpto_priv_clae2, y = diccionario)%>%
  mutate(anio = year(fecha), mes = month(fecha))%>%
  filter(anio == 2023 & mes == 4 & w_mean >= 0)%>%
  group_by(letra_desc) %>%
  summarise(ingr_oc_princ_media = mean(x = w_mean))%>%
  mutate(ranking = row_number(ingr_oc_princ_media))%>%
  filter(ranking <= 5)%>%
  ggplot(aes(x = ingr_oc_princ_media, y = fct_reorder(letra_desc, ingr_oc_princ_media), fill = letra_desc))+
  geom_col()+
  theme_minimal()+
  scale_fill_viridis_d()+
  guides(fill= "none") +
  labs(title = "5 sectores de actividad con salarios más bajos",
       subtitle = "(Argentina, abril 2023)",
       x = "Ingreso medio",
       y = NULL,
       caption = "Fuente: Ministerio de Desarrollo Productivo")+
  theme(plot.title = element_markdown(face = 'bold'),
  axis.title.x = element_markdown())

grafico_T2